import dayjs from "dayjs"
import { removeConfigLayout } from "@/utils/cache/local-storage"

/** 格式化时间 */
export const formatDateTime = (time: string | number | Date) => {
  return time ? dayjs(new Date(time)).format("YYYY-MM-DD HH:mm:ss") : "N/A"
}

/** 用 JS 获取全局 css 变量 */
export const getCssVariableValue = (cssVariableName: string) => {
  let cssVariableValue = ""
  try {
    // 没有拿到值时，会返回空串
    cssVariableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariableName)
  } catch (error) {
    console.error(error)
  }
  return cssVariableValue
}

/** 用 JS 设置全局 CSS 变量 */
export const setCssVariableValue = (cssVariableName: string, cssVariableValue: string) => {
  try {
    document.documentElement.style.setProperty(cssVariableName, cssVariableValue)
  } catch (error) {
    console.error(error)
  }
}

/** 重置项目配置 */
export const resetConfigLayout = () => {
  removeConfigLayout()
  location.reload()
}


import { useRouter } from "vue-router"
const router = useRouter()
export function goto(params: string) {
  router.push(params)
}

/** 打印指定元素 */
export const rootPrint = function (ref: any) {
  const WindowPrt: any = window.open(
    "",
    "打印",
    "width=" +
      (screen.availWidth - 10) +
      ",height=" +
      (screen.availHeight - 50) +
      ",left=0,top=0,location=0,menubar=0,toolbar=0,scrollbars=0,status=0"
  ) // 裸全屏
  WindowPrt.document.head.innerHTML = window.document.head.innerHTML // 加入当前所有头 - 以防样式丢失
  WindowPrt.document.body.innerHTML = ref.innerHTML // 载入指定body
  WindowPrt.print() // 调用打印
  // WindowPrt.close() // 自动等待print结束后执行
}
